const fs = require('fs');
const path = require('path');
const iconv = require('iconv-lite');

// 获取当前脚本所在目录
const currentDir = __dirname;

// 遍历目录下的所有文件
fs.readdir(currentDir, (err, files) => {
    if (err) {
        console.error('无法读取目录:', err);
        return;
    }

    files.forEach((file) => {
        const filePath = path.join(currentDir, file);

        // 检查文件是否是 .html 文件
        if (path.extname(file).toLowerCase() === '.html') {
            // 读取文件内容（假设文件是 GBK 编码）
            fs.readFile(filePath, (readErr, data) => {
                if (readErr) {
                    console.error(`无法读取文件 ${file}:`, readErr);
                    return;
                }

                // 将 GBK 转换为 UTF-8
                const utf8Content = iconv.decode(data, 'gbk');

                // 覆盖保存为 UTF-8 编码
                fs.writeFile(filePath, utf8Content, 'utf8', (writeErr) => {
                    if (writeErr) {
                        console.error(`无法写入文件 ${file}:`, writeErr);
                    } else {
                        console.log(`文件已转换为 UTF-8: ${file}`);
                    }
                });
            });
        }
    });
});